package model

//Order 订单结构体，大致结构和购物车一样，因为不需要更新所以没有计算之类的方法
type Order struct {
	OrderID     string  //订单号，UUID生成
	CreateTime  string  //订单生成的时间
	TotalCount  int64   //订单总数量，从购物车直接复制
	TotalAmount float64 //订单总价格，从购物车直接复制
	State       int64   //订单的状态，0是未发货，1是已发货待收货，2是交易完成
	UserID      int64   //订单所属的用户
}

/*
create table orders(
id varchar(100) primary key,
create_time datetime not null,
total_count int not null,
total_amount double(11,2) not null,
state int not null,
user_id int,
foreign key(user_id) references users(id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE=utf8_general_ci;
*/

//NoSend 未发货，未发货这个就是true
func (order *Order) NoSend() bool {
	return order.State == 0
}

//SendComplate 已发货，已发货就是true
func (order *Order) SendComplate() bool {
	return order.State == 1
}

//Complate 交易完成，已确认收货交易完成就是true
func (order *Order) Complate() bool {
	return order.State == 2
}
